package com.example.example005;

public class PrimitiveTypeTest {
	public static void main(String[] args) {
		// 给byte类型变量赋值时，数字后无需后缀标识
		byte byte_a = 1;
		
		// 编译器会做范围检查，如果赋予的值超出了范围就会报错
		// byte byte_b = 1000;
		// 把一个long型值赋值给byte型变量，编译时会报错，即使这个值没有超出byte类型的取值范围
		// byte byte_c = 1L;
		// 给short类型变量赋值时，数字后无需后缀标识
		short short_a = 1;
		// 编译器会做范围检查，如果赋予的值超出了范围就会报错
		// short short_b = 70000;
		// 把一个long型值赋值给short型变量，编译时会报错，即使这个值没有超出short类型的取值范围
		// byte short_c = 1L;
		// 给short类型变量赋值时，数字后无需后缀标识
		int int_a = 1;
		// 编译器会做范围检查，如果赋予的值超出了范围就会报错
		// int int_b = 2200000000;
		// 把一个long型值赋值给int型变量，编译时会报错，即使这个值没有超出int类型的取值范围
		// int int_c = 1L;
		// 可以把一个int型值直接赋值给long型变量，数字后无需后缀标识
		long long_a = 1;
		// 如果给long型变量赋予的值超出了int型值的范围，数字后必须加L（不区分大小写）标识
		long long_b = 2200000000L;
		// 编译器会做范围检查，如果赋予的值超出了范围就会报错
		// long long_c = 9300000000000000000L;
		// 可以把一个int型值直接赋值给float型变量
		float float_a = 1;
		// 可以把一个long型值直接赋值给float型变量
		float float_b = 1L;
		// 没有F（不区分大小写）后缀标识的浮点数默认为double型的，不能将它直接赋值给float型变
		// float float_c = 1.0;
		// float型数值需要有一个F（不区分大小写）后缀标识
		float float_d = 1.0F;
		// 把一个double型值赋值给float型变量，编译时会报错，即使这个值没有超出float类型的取值
		// float float_e = 1.0D;
		// 编译器会做范围检查，如果赋予的值超出了范围就会报错
		// float float_f = 3.5000000E38F;
		// 可以把一个int型值直接赋值给double型变量
		double double_a = 1;
		// 可以把一个long型值直接赋值给double型变量
		double double_b = 1L;
		// 可以把一个float型值直接赋值给double型变量
		double double_c = 1F;
		// 不带后缀标识的浮点数默认为double类型的，可以直接赋值
		double double_d = 1.0;
		// 也可以给数字增加一个D（不区分大小写）后缀标识，明确标出它是double类型的
		double double_e = 1.0D;
		// 编译器会做范围检查，如果赋予的值超出了范围就会报错
		// double double_f = 1.8000000000000000E308D;
		// 把一个double型值赋值给一个byte类型变量，编译时会报错，即使这个值没有超出byte类型的取值
		// byte byte_d = 1.0D;
		// 把一个double型值赋值给一个short类型变量，编译时会报错，即使这个值没有超出short类型的取
		// short short_d = 1.0D;
		// 把一个double型值赋值给一个int类型变量，编译时会报错，即使这个值没有超出int类型的取值范围
		// int int_d = 1.0D;
		// 把一个double型值赋值给一个long类型变量，编译时会报错，即使这个值没有超出long类型的取值
		// long long_d = 1.0D;
		// 可以用字符初始化一个char型变量
		char char_a = 'a';
		// 也可以用一个int型数值初始化char型变量
		char char_b = 1;
		// 把一个long型值赋值给一个char类型变量，编译时会报错，即使这个值没有超出char类型的取值范围
		// char char_c = 1L;
		// 把一个float型值赋值给一个char类型变量，编译时会报错，即使这个值没有超出char类型的取值范
		// char char_d = 1.0F;
		// 把一个double型值赋值给一个char类型变量，编译时会报错，即使这个值没有超出char类型的取值
		// char char_e = 1.0D;
		// 编译器会做范围检查，如果赋予的值超出了范围就会报错
		// char char_f = 70000;
		
		short s1=1;
		
		s1+=1;
	}
}
